Determining and presenting communication device proximity information

ABSTRACT

A location and mapping application takes device information and produces location information for display on a communication-enabled computing device (e.g., a personal digital assistant or wireless phone). A current location of a wireless device may be provided with an announcement of an incoming call or message and may be in the form of a street address or a map. Location information for a wired (or fixed-location) device may be provided in the form of a map. Location information for nearby wireless and wired devices may also be provided. Location information may be updated for wireless devices that are moving.

TECHNICAL FIELD

This application relates generally to communication devices. Moreparticularly, this application relates to providing proximityinformation associated with communication devices.

BACKGROUND

Users of wireless phones, personal digital assistants (PDAs), computers,and other communication devices are able to get information about othersimilar devices when two devices are in contact. For example, acell-phone user who receives an incoming call from anothercommunications device may receive information about the caller in theform of Caller ID information, which may include identifying informationsuch as a phone number and/or a name. This information may be useful tothe cell-phone user, enabling them to, for example, decide whether totake the incoming call.

Sometimes, information identifying a device or a caller may not provideenough information to a user of a communication device. The user maywish to know more about the device or caller with which the user is incommunication or that is simply nearby. For example, a father receivingan incoming call from his teenage daughter may wish to know herlocation, or know of other devices in her vicinity, such as the cellphones or home phones of her friends. Such information is not presentlyprovided to a user of a communication device.

SUMMARY

It should be appreciated that this Summary is provided to introduce aselection of concepts in a simplified form that are further describedbelow in the Detailed Description. This Summary is not intended toidentify key features or essential features of the claimed subjectmatter, nor is it intended to be used to limit the scope of the claimedsubject matter.

According to one embodiment described herein, a method providesproximity information associated with a device to a second device. Thelocation of the device is determined and proximity informationassociated with the location is also determined. The proximityinformation is provided for output on the second device. According tovarious embodiments, the proximity information may include an address ofthe first device, a map of an area including the first device, or thenearest location of a third device.

According to another embodiment of the invention, a system providesproximity information associated with a communications device. Thesystem receives identification of the communications device and receivesa location associated with the communications device. The systemdetermines proximity information associated with the location and sendsthe identification of the communications device and the proximityinformation to another communications device for output.

According to yet another embodiment of the invention, acomputer-readable medium stores instructions, which when executed by acomputer, cause the computer to receive the identification and locationof a wireless communications device upon the initiation ofcommunications between the wireless device and a second communicationsdevice. The location of a third device that is associated with the firstwireless device is determined. Proximity information associated with thefirst wireless device is determined. This proximity information includesthe location of the third device and a map of the area encompassing thefirst wireless device. A displayable version of the proximityinformation is prepared for display on the second device and is sent tothe second device for display.

Other systems, methods, and/or computer program products according toembodiments will be or become apparent to one with skill in the art uponreview of the following drawings and Detailed Description. It isintended that all such additional systems, methods, and/or computerprogram products be included within this description, be within thescope of the present invention, and be protected by the accompanyingclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example of a computing devicein which embodiments may be implemented;

FIG. 2 depicts an example of a communications and proximity informationdelivery system according to one or more embodiments described herein;

FIG. 3 depicts functional details for embodiments of a location andmapping application according to one or more embodiments describedherein;

FIG. 4 depicts examples of inputs and outputs associated with providingproximity information for a wireless communications device according toone or more embodiments described herein;

FIG. 5 depicts examples of inputs and outputs associated with providingproximity information for a wired communications device according to oneor more embodiments described herein;

FIG. 6 depicts examples of inputs and outputs associated with providingnearest communications device information according to one or moreembodiments described herein;

FIG. 7 depicts an example of a process for providing locationinformation about a communications device according to one or moreembodiments described herein; and

FIGS. 8-12 each depict an example of a display of location informationon a communication-enabled computing device according to one or moreembodiments described herein.

DETAILED DESCRIPTION

The following detailed description is directed to methods and systemsfor presenting communications device proximity information to acommunication-enabled computing device. In the following detaileddescription, references are made to the accompanying drawings that forma part hereof, and which are shown, by way of illustration, usingspecific embodiments or examples. Referring now to the drawings, inwhich like numerals represent like elements through the several figures,aspects of the methods and systems provided herein will be described.

FIG. 1 and the following discussion are intended to provide a brief,general description of a suitable computing environment in whichembodiments of the invention may be implemented. While embodiments ofthe invention will be described in the general context of programmodules that execute in conjunction with an application program thatruns on an operating system on a computer system, those skilled in theart will recognize that other embodiments of the invention may also beimplemented in combination with other program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that the invention may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

With reference to FIG. 1, embodiments of the invention may include acomputing device, such as the computing device 100. In a basicconfiguration shown in FIG. 1, the computing device 100 includes atleast one processing unit 102 and a memory 104. Multiple processors mayaccompany the processing unit 102. Depending on the configuration of thecomputing device 100, the memory 104 may be volatile (e.g., RandomAccess Memory (RAM)), non-volatile (e.g., Read-Only Memory (ROM), flashmemory), or some combination thereof. The memory 104 serves as a storagelocation for an operating system 105, one or more applications 106, andmay include program data 107, as well as other programs. In variousembodiments, the applications 106 include a location and mappingapplication 120, an application including similar logic, or any otherset of instructions comprising such logic. It should be noted that thelogic of the location and mapping application 120 may be distributedand/or shared across multiple computing devices. More informationregarding the function of the location and mapping application 120 isprovided below in the description of FIGS. 2 and 3.

The computing device 100 may include additional features andfunctionality other than the features shown within dashed-line box 108.For example, the computing device 100 may include additional datastorage components, including both removable storage 109 (e.g., floppydisks, memory cards, compact disc (CD) ROMs, digital video discs (DVDs),external hard drives, universal serial bus (USB) drives) andnon-removable storage 110 (e.g., magnetic hard drives).

Computer storage media may include media implemented in any method ortechnology for storage of information, including computer readableinstructions, data structures, program modules, or other data. Thememory 104, the removable storage 109, and the non-removable storage 110are all examples of computer storage media. Further examples of computerstorage media include RAM, ROM, electrically-erasable programmable ROM(EEPROM), flash memory, CD-ROM, DVD, cassettes, magnetic tape, andmagnetic disks. Any such computer storage media may be accessed bycomponents which are a part of the computing device 100, or which areexternal to the computing device 100 and connected via a communicationslink (e.g., Bluetooth®, USB, parallel, serial, infrared). The computingdevice 100 may also include input devices 112 for accepting user input.Examples of input devices 112 include a keyboard, mouse, digitizing pen,microphone, touchpad, touch-display, and combinations thereof.Similarly, the computing device 100 may include output devices 114 suchas displays, speakers, printers, and combinations thereof. It should beunderstood that the computing device 100 may also include additionalforms of storage, input, and output devices. The input devices 112 andthe output devices 114 may include communication ports and associatedhardware for communicating with external input and output devices ratherthan including the devices with the computing device 100.

Computing device 100 may also include one or more communicationconnections 116 that include hardware and/or software which enable thecomputing device 100 to communicate with other communications orcomputing devices 118 over a network 130. The network 130 may include awireless network such as, but not limited to, a Wireless Local AreaNetwork (WLAN) such as a WiFi network, a Wireless Wide Area Network(WWAN), a Wireless Personal Area Network (WPAN) such as Bluetooth®, aWireless Metropolitan Area Network (WMAN) such as a WiMAX network, acellular network, or a satellite network. Alternatively, the network 104may be a wired network such as, but not limited to, a wired Wide AreaNetwork (WAN), a wired (Local Area Network) LAN such as the Ethernet, awired Personal Area Network (PAN), or a wired Metropolitan Area Network(MAN). Communication media, in the form of computer readableinstructions, data structures, program modules, or other data in amodulated data signal, may be shared with and by the computing device100 via the communication connection 116. Modulated data signal may meana signal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal, and may include amodulated carrier wave or other transport mechanism.

Turning now to FIG. 2, a communications and proximity informationdelivery system 200, according to one or more embodiments will bedescribed. The communications and proximity information delivery system200 allows for a user 211 of a communication-enabled computing device212 to communicate with and receive proximity information related toother communication devices 222 and 232 via the network 130 and acomputing device 100. A server is one embodiment of the computing device100 capable of storing and executing the location and mappingapplication 120. Although depicted as a single computing device 100, itshould be appreciated that computing device 100 may be comprised ofmultiple computing devices working either independently or in concertwith each other. The computing device 100 is connected to the network130 via a wired or wireless connection. The network 130 may include oneor more open or closed networks, including a telecommunications network,the Internet, or any network for transmitting and distributing voiceand/or data communications, such as those described above. The network130 may also include additional transmission, reception, and/orconcentration points, including satellite receivers, modulators,routers, concentrators, multiplexers, and gateways.

A remote user 221 may contact other users 211 and 231 and devices 212and 233 using the device 222, which in this example is a landlinecommunications device, via a central office 223 which is connected tothe network 130. The device 232, which in this example is a wirelesscommunications device, is connected to the network 130 via a transceiver233, such as a cell tower. The transceiver 233 enables wirelesscommunications using electromagnetic frequencies or other wirelesstransmission methods. A remote user 231 may use the wirelesscommunications device 232 to communicate with other users 211 and 221and devices 212 and 222 via the network 130. The user 211 may utilizethe communication-enabled computing device 212 to communicate with otherusers via wireless communication using a transceiver 213 which is alsoconnected to the network 130. It should be appreciated thatcommunication-enabled computing device 212 may be the computing device100, as described above. It should also be appreciated thatcommunication-enabled computing device 212 may be a PDA, a Smartphone, awireless phone, a mobile computer, a laptop computer, or any computingdevice 100 which can communicate with other communication devices over awired or wireless network such as the network 130.

According to one implementation described herein, when user 211 receivesan incoming call from the remote user 221 or 231, thecommunication-enabled computing device 212 receives proximityinformation for presentation to user 211. As described herein, theproximity information is any information related to the actualgeographic location of a communications device 222 or 232 with which thecommunication-enabled computing device 212 is in communication, or whichis located in the vicinity of the communication-enabled computing device212. As will be described in detail below, the proximity information,provided by the location and mapping application 120 on computing device100, may be in the form of a map of the incoming caller's location, astreet address of the incoming caller's location, a nearestintersection, a zip code, a city, and/or the location and/or contactinformation of a nearest communications device. In determining proximityinformation for the communication devices 222 or 232, the location andmapping application 120 determines a geographic location of a device 222or 232 based on information received from the device itself, fromelements of the network 130, and/or from a database including geographiclocations of devices. For example, communications devices, such as thewireless device 232, may contain a Global Positioning System (GPS)receiver in order to receive location information from a GPS satellitenetwork. The communications device 232 may determine its geographiclocation utilizing the GPS receiver, and transmit geographic coordinatesto computing device 100, or to a separate location for storage and laterretrieval, such as a database.

Alternatively, the geographic location of the communications device maybe determined utilizing the known locations of transceivers, such as thetransceiver 233. By determining the signal strength of thecommunications device 232 at multiple transceivers, the location of thecommunications device 232 may be determined via triangulationtechniques. Likewise, the communications device 232 may measure thetransmission strength of multiple nearby transceivers and triangulateits own location accordingly. This method of location determination maybe combined with GPS technology to ensure the consistent collection ofgeographic location information and to provide redundant locationdetermination systems. Location information from any number ofcommunication devices may be stored in a database associated with thecomputing device 100 and be continually updated by the device 100,allowing the locations of the communications devices to be tracked.Other methods for determination of the geographic location of acommunications device are available.

Once a geographic location for a communications device is determined,the location and mapping application 120 determines proximityinformation for the communications device. The type and format of theproximity information to be delivered to the communication-enabledcomputing device 212 may be determined by a service provider accordingto operational capabilities of the location and mapping application 120,the communication-enabled computing device 212, a fee-based subscriptionof the user 211, user preferences defined by the user 211 and stored ina profile database, or any combination thereof. If proximity informationincludes a map of the area surrounding the geographic location, thelocation and mapping application may create a map of the area, modifyingexisting maps or generating a new map based on information in ageographic database. Alternatively, a map may be generated by a separateapplication or computing device 100. If proximity information includesinformation about a nearest communications device, then information maybe retrieved by the computing device 100 from databases includinginformation about devices. Additional details regarding thedetermination of proximity information, including determination of anearest communications device, are provided below with respect to FIGS.3-6.

Once received from the location and mapping application 120, thecommunication-enabled computing device 212 may display proximityinformation on a screen associated with the communication-enabledcomputing device 212. Examples of displayed proximity information areprovided below with respect to FIGS. 8-12. Proximity information mayadditionally or alternatively be announced audibly at thecommunication-enabled computing device 212, such as the street addressof the incoming caller. Proximity information may be displayed for theduration of the call, or alternatively may be displayed prior toacknowledging receipt of an incoming call. Proximity informationprovided by the location and mapping application 120 need not only beassociated with an incoming call to the communication-enabled computingdevice 212. Proximity information may be provided by the location andmapping application 120 at other times, such as on command during thecourse of any communication (e.g., email, short message service (SMS),or during a call). User 211 may configure the communication-enabledcomputing device 212 to display one form of proximity information for aperiod of time, for example, and then display other forms of proximityinformation. For example, a user may view a map of a remote device'slocation for a period of time, and then view information identifyingother nearby communication devices. Alternatively, the user 211 may wishto receive location and/or identifying information for the nearestcommunications device without initiating a communication, whether thenearest communications device is a landline phone, such ascommunications device 222, located in a nearby home or apartment, or thewireless phone, such as communications device 232, of a nearbyindividual.

The provision of proximity information to the communication-enabledcomputing device 212 may be subject to permissions set up on behalf ofthe user 211 as well as the remote users 221 and 231. For example, theuser 211 may have previously opted to only receive proximity informationfor family members of the user 211, or for all individuals listed in theaddress book of the user 211. Likewise, the remote users 221 and 231 mayhave opted to block such information about them from being delivered,either on a user-by-user basis, or for all users. It is also possiblethat the user 211, given the authority to do so, may be able to overridesuch a block and still receive such location information. This may bethe case where the user 211 is a parent wanting to know the location ofthe remote user 221, who is a child of user 211. The remote user 221 mayattempt to block sending proximity information, but the user 211 mayoverride this block with authorization.

FIG. 3 depicts additional details about the functioning of embodimentsof the location and mapping application 120. It should be appreciatedthat the embodiment depicted here is intended as an example and is notintended to limit other alternative embodiments. The location andmapping application 120 may work in conjunction with various databases300 when supplying proximity information to the communication-enabledcomputing device 212. The various databases 300 may include a landlinedatabase 301, which may supply information associated with subscribersto wired phone services. The various databases 300 may also include awireless database 302, which may supply information associated withsubscribers to wireless phone services. The landline database 301 andthe wireless database 302 may be integrated into a single subscriberdatabase, and may include subscribers to other services, such asInternet services, cable television services, utility services, andother services and products. It should be understood that the variousdatabases 300 may be populated with contact information relating tobusinesses, residences, and cellular customers according tosubscriptions allowing this contact information to be freelydisseminated to subscribers of the databases 300 with all listed publiccontact information requiring permission by users 221 and 231 prior todistributing their contact information. The various databases 300 alsoinclude a geographic database 303, which may supply information ongeographic features (e.g., roads, rivers, schools) and/or supplyinformation for converting geographic coordinates (e.g., longitude andlatitude) into street addresses and other more-readable formats. Thedatabases 300 may include one or more other databases which may assistin identifying, locating, and/or mapping the locations of communicationsdevices.

FIGS. 4-6 depict examples of inputs that may be consumed and examples ofoutputs that may be produced by the location and mapping application120. FIG. 4 depicts examples of inputs and outputs associated withproviding location information for the wireless communications device232. In this example, the communication-enabled computing device 212receives an incoming call from the wireless communications device 232.Either during routing of the call, or once the call has been routed, thedevice 212 requests proximity information from the location and mappingapplication 120. The request may include identifying information aboutthe wireless communications device 232. The request may also includegeographic coordinates of the present location of the wirelesscommunications device 232. Such coordinate information may be determinedby the wireless communications device 232 itself and/or may bedetermined with the assistance of external devices, as described above.The location and mapping application 120 uses the identifyinginformation and any location information as inputs for generating one ormore of the desired outputs 410.

In the course of generating one or more of the outputs, the location andmapping application 120 may query the databases 300 to, for example,look up identifying information of a nearest wired telephone subscriber,look up identifying information of a nearest wireless telephonesubscriber, and acquire geographic information so as to generate a mapof the location of the wireless communications device 232. Ifdetermining a direction and speed for the wireless user 231, thelocation and mapping application 120 may request regular locationupdates for the wireless communications device 232 so as to be able tomeasure the location change over time and calculate direction and speed.Direction and speed may also be determined by the wirelesscommunications device 232 itself and passed to the location and mappingapplication 120 as a part of the initial request. Driving directions tothe present location of the wireless communications device 232 may begenerated by the location and mapping application 120 which may alsoproduce a map showing a highlighted route, as well as textualdirections. Driving directions may be determined with the assistance ofgeographic database 303, or with assistance from other applications orservices, such as the mapping services provided by YAHOO!, GOOGLE, andMAPQUEST.

When outputs 410 include proximity information which includesinformation on nearest communications devices, the location and mappingapplication 120 may query one or more of the databases 300. In the caseof a nearest landline phone, the location and mapping application 120may take the geographic location of the wireless communications device232, for example, and query a database of landline subscribers 301searching for the closest wired phone. Once determined, informationabout the closest wired phone, including customer name, address, andphone number is retrieved by the location and mapping application 120,subject to any permissions the subscriber may have put in place.Permissions may also be determined using a query of a customer profiledatabase, for example. In the case of a nearest wireless device, thelocation and mapping application 120 may take the geographic location ofthe wireless communications device 232, and query a database 302 ofwireless subscribers. The database 302 may include a most recentlocation of all wireless devices that is updated regularly, againsubject to any customer permissions. Once a nearest wireless device isdetermined, and any permissions are checked, information about thenearest device may be retrieved by the location and mapping application120, including a customer name, phone number, as well as a geographiclocation.

FIG. 5 depicts examples of inputs and outputs associated with thelocation and mapping application 120 providing location information forthe wired communications device 222. In this example, thecommunication-enabled computing device 212 receives an incoming callfrom the wired communications device 222. Either during routing of thecall, or once the call has been routed, the device 212 requestsproximity information from the location and mapping application 120. Therequest includes identifying information about the wired communicationsdevice 222. The identifying information is used by the location andmapping application 120 to query the databases 300 in order to determinean address associated with the location of the wired communicationsdevice 222. Once known, the location and mapping application 120 mayquery the geographic database 303 in order to assemble a map of thelocation of the incoming call. Other outputs 510 may include informationidentifying a nearest wireless device, as well as driving directionsfrom the current location of communication-enabled computing device 212.These outputs may be generated in much the same fashion as discussedabove with regard to FIG. 4.

FIG. 6 depicts examples of inputs and outputs associated with thelocation and mapping application 120 providing nearest customerinformation for a communication-enabled computing device 212. In thisexample, the current location of the communication-enabled computingdevice 212 is known and may be sent in a request from the device 212 tothe location and mapping application 120. The location information isutilized by the location and mapping application 120 to query theappropriate databases 300 for determining proximity information, such asa nearest communications device. The outputs 610 from the location andmapping application 120 may be sent back to the communication-enabledcomputing device 212 in the form of text or as a map which can then beutilized by user 211 to view the nearest subscribers or customers withina particular distance. In various embodiments, the communication-enabledcomputing device 212 may include functionality similar or identical tothe location and mapping application 120, rather than utilize a separatecomputing device 100 connected to the network 130. Regardless of wherethe location and mapping application 120 is executing, embodiments ofthe location and mapping application 120 will query databases 300 eitherremotely over the network 130 or locally on the same system.

FIG. 7 depicts an example of a process 700 by the location and mappingapplication 120 for providing proximity information about thecommunications device 232. Such a process may be implemented on one ormore computing devices 100, and may include the functionality of thelocation and mapping application 120. The logical operations of thevarious implementations presented, may be (1) a sequence of computerimplemented acts or program modules running on one or more computers 100and/or (2) interconnected machine logic circuits or circuit moduleswithin the computing device 100. The implementation is a matter ofchoice dependent on the performance requirements of the computingdevices 100 on which the embodiments are implemented. Accordingly, thefunctional operations making up the implementations are referred tovariously as operations, structural devices, acts, or modules. It willbe recognized by one skilled in the art that these operations, structuredevices, acts, and modules may be implemented in software, in firmware,in special purpose digital logic, and/or any combination thereof withoutdeviating from the spirit and scope of the attached claims. Moreover, itwill be apparent to those skilled in the art that the operationsdescribed may be combined, divided, reordered, skipped, and otherwisemodified, also without deviating from the spirit and scope of theattached claims.

For the purposes of this illustration, FIGS. 7-12 will be described withrespect to communication device 232. It should be understood that theprocess 700 is equally applicable to communications device 222 or anyother communication device connected to the network 130. At operation701, the location and mapping application 120 receives a request forproximity information for the communications device 232. The request maybe initiated by the communications device 232, by thecommunication-enabled computing device 212, or by any device connectedthrough the network 130. The request may include identifying informationfor the communications device 232 and/or geographic coordinates for thepresent location of the communications device 232. At decision 702, thelocation and mapping application 120 determines whether geographiccoordinates are available. If no geographic coordinates are available(e.g., the communication device 232 is not equipped with GPS technologyor is a wired phone without GPS), then at operation 703, the locationand mapping application 120 uses the identifying information to look upan address associated with the communications device 232. At decision704, the location and mapping application 120 determines whether a mapis necessary. If no map is needed (e.g., the display on thecommunication-enabled computing device does not support graphical maps),then at operation 705, the location and mapping application 120 formatsthe address associated with the communications device 222 appropriately(e.g., text and/or audio) and returns the formatted address. If atdecision 704, a map is desired, then at operation 706 the location andmapping application 120 performs a query to assist with converting thelocated address into a geographic location (e.g., a street address isconverted into longitude and latitude). This information is used by thelocation and mapping application 120 to generate a map at operation 709,described in more detail below.

Returning to decision 702, if geographic coordinates are available forthe communications device 232 (e.g., the wireless device 232 has a GPSreceiver), then at operation 707, the location and mapping application120 determines an address using the geographic coordinates. This may bethe result of a query similar to the one described with respect tooperation 705. If, at decision 708, no map is desired, then the locationand mapping application 120 returns the address determined in operation707 for textual or audible output on the communication-enabled computingdevice 212. If a map is desired, then at operation 709, the location andmapping application 120 assembles a map including the locationinformation (e.g., communications device 232 location,communication-enabled computing device 212 location, other relevantlocations). The map may be generated by the location and mappingapplication 120 by taking existing graphical maps and superimposing oroverlaying location information where appropriate. Also, unadorned mapsmay be sent from the location and mapping application 120 to thecommunication-enabled computing device 212 along with proximityinformation, including items having locations for display on the map.The map may be sized appropriately by the location and mappingapplication 120 based on the resolution of a display associated withcommunication-enabled computing device 212. If the map is to be used toprovide driving directions, then the map may be modified by the locationand mapping application 120 to include a highlighted route, or theinformation may be passed to the communication-enabled computing device212 for display. At operation 710, the location and mapping application120 responds to the initial request with map and addresses for allrelevant locations. If needed, addresses may be formatted in an audibleformat. If direction and speed are to be continually plotted on the map,then subsequent location updates may be sent by the location and mappingapplication 120 to the communication-enabled computing device 212.

FIGS. 8-12 depict examples of the geographic information provided by thelocation and mapping application 120. In each figure, an embodiment ofthe communication-enabled computing device 212 displays informationabout the location of a communications device 232. FIGS. 8, 9, and 11particularly depict the display of geographic information associatedwith the device of an incoming caller. This collection of displays isnot intended to limit embodiments as only being used with incomingcommunications. The user 211 of the communication-enabled computingdevice 212 may request this information on demand, retrieving, forexample, a map of the location of a child's cell phone withoutcommunicating with the child.

FIG. 8 depicts a display 801 associated with an incoming caller on thecommunication-enabled computing device 212. The display 801 includes amap showing the location 803 of the caller, overlaid with additionalcaller information 802. The map is supplied by the location and mappingapplication 120 along with the street address displayed in the callerinformation 802. The address depicted may be the result of a calleridentification lookup performed by the location and mapping application120, the caller being associated with a street address. The addressdepicted may also be the result of the location and mapping application120 receiving geographic coordinates (e.g., longitude and latitudevalues) associated with the current location of incoming caller andconverting the coordinates to a street address using geographic database303.

FIG. 9 depicts a display 901 associated with an incoming caller on thecommunication-enabled computing device 212. The display 901 includes amap showing the location 903 of the caller, along with additional callerinformation 902. The map is again supplied by the location and mappingapplication 120 along with the direction of travel displayed in thecaller information 902. Here, the map is updated showing the location903 of the caller as it changes over time. Although not shown, thelocation and mapping application 120 may also supply an associated speedof travel for the caller.

FIG. 10 depicts a display 1001 associated with a call in progress on thecommunication-enabled computing device 212. The display 1001 includes amap showing the location 1003 of the caller, along with additionalcaller information 1002. The map is supplied by the location and mappingapplication 120 along with the nearest landline information displayed aspart of caller information 1002. The location and mapping application120 determines the nearest wired subscriber using information stored inlandline database 301 and geographic database 303. Although not shown,the location and mapping application 120 may also use information storedin the wireless database 302 to determine a closes wireless subscriber.Such information may be useful to, for example, determine whose home auser's daughter is at, or which friends she is currently with.

FIG. 11 depicts a display 1101 associated with an incoming call on thecommunication-enabled computing device 212. In this example, unlike thedevices of previous figures, the communication-enabled computing device212 is a computer acting as a communication-enabled device. In thiscase, the computer is using Voice over Internet Protocol (VOIP)technology to transmit voice communications. As with previous examples,the map shown on display 1101 is supplied by the location and mappingapplication 120. The location and mapping application 120 also providestextual driving directions 1102 which accompany a highlighted route 1103on the map. The highlighted route 1103 and the driving directions 1102may be determined by the location and mapping application 120 usinginformation stored in geographic database 303. The starting address andending address for driving directions 1102 may be determined in afashion using subscriber databases 301 and 302 in conjunction withgeographic database 303.

FIG. 12 depicts a display 1201 associated with the current location ofthe communication-enabled computing device 212. This example does notrequire a communication with another device. Instead, the mobilecomputer depicted here displays the location 1204 of the subscriber orcustomer nearest the mobile computer's current location 1203. Such anapplication may be utilized by a repair man or other authorizedindividual attempting to discern identifying information about nearbycustomers and/or subscribers. Additional information 1202 about thecustomer or subscriber is also provided. The map shown on the display1201 may be updated as the mobile computer moves, showing additionalsubscribers or customers within a particular range (e.g., 100 feet).Although no other device is in communication with the mobile computer,nevertheless the location and mapping application 120 is utilized toprovide location information based on the current location of the mobilecomputer.

Although the subject matter presented herein has been described inconjunction with one or more particular embodiments and implementations,it is to be understood that the invention defined in the appended claimsis not necessarily limited to the specific structure, configuration, orfunctionality described herein. Rather, the specific structure,configuration, and functionality are disclosed as example forms ofimplementing the claims.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Various modifications andchanges may be made to the subject matter described herein withoutfollowing the example embodiments and applications illustrated anddescribed, and without departing from the true spirit and scope of thepresent invention, which is set forth in the following claims.

1. A method for providing proximity information associated with a firstdevice, the method comprising: determining a location of the firstdevice; determining proximity information associated with the locationof the first device; and providing the proximity information for outputon a second device.
 2. The method of claim 1, wherein providing theproximity information for output on the second device comprisesproviding the proximity information to a communication-enabled computingdevice.
 3. The method of claim 2, wherein providing the proximityinformation for output on the second device comprises providing anaudible announcement of an address associated with the first device tothe communication-enabled computing device.
 4. The method of claim 1,wherein determining the location of the first device comprisesdetermining geographic coordinates associated with the location of thefirst device.
 5. The method of claim 1, wherein determining proximityinformation associated with the location of the first device comprisesdetermining an address associated with the location of the first device.6. The method of claim 1, wherein determining proximity informationassociated with the location of the first device comprises generating agraphical map of an area near the location of the first device.
 7. Themethod of claim 6, wherein providing the proximity information foroutput on the second device comprises providing the graphical map to thecommunication-enabled computing device for visual display.
 8. The methodof claim 1, wherein determining proximity information associated withthe location of the first device comprises determining a nearestlocation of a third device.
 9. The method of claim 8, wherein providingthe proximity information for output on the second device comprisesproviding identifying information associated with the third device tothe communication-enabled computing device.
 10. The method of claim 9,wherein providing identifying information associated with the thirddevice comprises providing a phone number of the third device.
 11. Themethod of claim 1, wherein providing the proximity information foroutput on the second device comprises providing driving directions froma location of the second device to the location of the first device. 12.A system for providing proximity information associated with a firstcommunications device, comprising: means for receiving a deviceidentifier associated with the first communications device; means forreceiving a location identifier associated with the first communicationsdevice; means for determining proximity information associated with thelocation identifier of the first communications device; and means forsending the device identifier and the proximity information for outputon a second communications device.
 13. The system of claim 12, whereinthe means for determining proximity information associated with thelocation identifier of the first communications device is operative todetermine an address associated with the device identifier.
 14. Thesystem of claim 13, wherein the means for determining the addressassociated with the device identifier comprises means for querying acustomer database.
 15. The system of claim 12, wherein the means fordetermining proximity information associated with the locationidentifier of the first communications device comprises means forgenerating a graphical map of the location of the first communicationsdevice.
 16. The system of claim 12, wherein the means for receiving thedevice identifier associated with the first communications devicecomprises means for receiving caller ID information from a wirelesscommunications device.
 17. The system of claim 12, wherein the means fordetermining proximity information associated with the locationidentifier of the first communications device comprises means fordetermining a location of a third communications device.
 18. The systemof claim 17, wherein the means for determining proximity informationassociated with the location identifier further comprises: generating amap of a geography surrounding the second device; and adding thelocation of the third communications device to the map of the geographysurrounding the second device.
 19. The system of claim 10, wherein themeans for determining proximity information associated with the locationidentifier of the first communications device comprises means forproviding driving directions between a location of the firstcommunications device and a location of the second communicationsdevice.
 20. A computer-readable medium storing computer-executableinstructions, which when executed by a computer, perform a methodcomprising: receiving a device identifier and a location identifierassociated with a first wireless communications device upon initiationof a communication between the first wireless communications device anda second communications device; determining a location identifier of athird communications device associated with the first communicationsdevice; determining proximity information associated with the locationidentifier of the first communications device, wherein the proximityinformation comprises: the location identifier of the thirdcommunications device associated with the first communications device,and a map of a geographic area encompassing a geographic locationassociated with the location identifier of the first communicationsdevice; preparing a displayable version of the proximity information foroutput on a display of the second communications device; and sending thedisplayable version of the proximity information to the secondcommunications device.